﻿CREATE PROCEDURE crud_LieuDeService_Insert
    @Id uniqueidentifier,
    @Client_Id uniqueidentifier,
    @Adresse_Id uniqueidentifier,
    @Statut varchar(MAX),
    @Risque varchar(MAX),
    @Localisation varchar(255),
    @Actif bit
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO
        LieuxDeService(Id, Client_Id, Adresse_Id, Statut, Risque, Localisation, Actif)
      VALUES(@Id, @Client_Id, @Adresse_Id, @Statut, @Risque, @Localisation, @Actif);
END
GO

CREATE PROCEDURE crud_LieuDeService_Update
    @Id uniqueidentifier,
    @Client_Id uniqueidentifier,
    @Adresse_Id uniqueidentifier,
    @Statut varchar(MAX),
    @Risque varchar(MAX),
    @Localisation varchar(255),
    @Actif bit
AS
BEGIN
    SET NOCOUNT ON
    UPDATE
        LieuxDeService
      SET
        Client_Id=@Client_Id,
        Adresse_Id=@Adresse_Id,
        Statut=@Statut,
        Risque=@Risque,
        Localisation=@Localisation,
        Actif=@Actif
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_LieuDeService_Delete
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    DELETE FROM
        LieuxDeService
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_LieuDeService_SelectAll
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        LieuxDeService.Id, LieuxDeService.Client_Id, LieuxDeService.Adresse_Id, LieuxDeService.Statut, LieuxDeService.Risque, LieuxDeService.Localisation, LieuxDeService.Actif
      FROM
        LieuxDeService;
END
GO

CREATE PROCEDURE crud_LieuDeService_Select
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        LieuxDeService.Id, LieuxDeService.Client_Id, LieuxDeService.Adresse_Id, LieuxDeService.Statut, LieuxDeService.Risque, LieuxDeService.Localisation, LieuxDeService.Actif
      FROM
        LieuxDeService
      WHERE
        LieuxDeService.Id=@Id;
END
GO

CREATE PROCEDURE crud_LieuDeService_SelectByClient
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        LieuxDeService.Id, LieuxDeService.Client_Id, LieuxDeService.Adresse_Id, LieuxDeService.Statut, LieuxDeService.Risque, LieuxDeService.Localisation, LieuxDeService.Actif
      FROM
        LieuxDeService
      WHERE
        LieuxDeService.Client_Id=@Id;
END
GO

CREATE PROCEDURE crud_LieuDeService_SelectByContacts
    @Personne_Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        LieuxDeService.Id, LieuxDeService.Client_Id, LieuxDeService.Adresse_Id, LieuxDeService.Statut, LieuxDeService.Risque, LieuxDeService.Localisation, LieuxDeService.Actif
      FROM
        LieuxDeService
      INNER JOIN Contacts ON
        Contacts.LieuDeService_Id=LieuxDeService.Id
      WHERE
        Contacts.Personne_Id=@Personne_Id;
END
GO

CREATE PROCEDURE crud_LieuDeService_SelectByAdresse
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        LieuxDeService.Id, LieuxDeService.Client_Id, LieuxDeService.Adresse_Id, LieuxDeService.Statut, LieuxDeService.Risque, LieuxDeService.Localisation, LieuxDeService.Actif
      FROM
        LieuxDeService
      WHERE
        LieuxDeService.Adresse_Id=@Id;
END
GO

CREATE PROCEDURE crud_LieuDeService_SelectByContrats
    @Contrat_Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        LieuxDeService.Id, LieuxDeService.Client_Id, LieuxDeService.Adresse_Id, LieuxDeService.Statut, LieuxDeService.Risque, LieuxDeService.Localisation, LieuxDeService.Actif
      FROM
        LieuxDeService
      INNER JOIN LieuxDeServiceContrats ON
        LieuxDeServiceContrats.LieuDeService_Id=LieuxDeService.Id
      WHERE
        LieuxDeServiceContrats.Contrat_Id=@Contrat_Id;
END
GO

CREATE PROCEDURE crud_LieuxDeServiceContrats_Insert
    @LieuDeService_Id uniqueidentifier,
    @Contrat_Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO
        LieuxDeServiceContrats(LieuDeService_Id, Contrat_Id)
      VALUES(@LieuDeService_Id, @Contrat_Id);
END
GO


CREATE PROCEDURE crud_LieuxDeServiceContrats_Delete
    @LieuDeService_Id uniqueidentifier,
    @Contrat_Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    DELETE FROM
        LieuxDeServiceContrats
      WHERE
        LieuDeService_Id=@LieuDeService_Id AND
        Contrat_Id=@Contrat_Id;
END
GO



CREATE PROCEDURE crud_LieuxDeServiceContrats_SelectByLieuDeService
    @LieuDeService_Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        LieuxDeServiceContrats.LieuDeService_Id, LieuxDeServiceContrats.Contrat_Id
      FROM
        LieuxDeServiceContrats
      WHERE
        LieuxDeServiceContrats.LieuDeService_Id=@LieuDeService_Id;
END
GO

CREATE PROCEDURE crud_LieuxDeServiceContrats_SelectByContrat
    @Contrat_Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        LieuxDeServiceContrats.LieuDeService_Id, LieuxDeServiceContrats.Contrat_Id
      FROM
        LieuxDeServiceContrats
      WHERE
        LieuxDeServiceContrats.Contrat_Id=@Contrat_Id;
END
GO

CREATE PROCEDURE crud_Contrat_Insert
    @Id uniqueidentifier,
    @TypeContrat varchar(MAX),
    @Nom varchar(63),
    @Domaine varchar(MAX),
    @Actif bit
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO
        Contrats(Id, TypeContrat, Nom, Domaine, Actif)
      VALUES(@Id, @TypeContrat, @Nom, @Domaine, @Actif);
END
GO

CREATE PROCEDURE crud_Contrat_Update
    @Id uniqueidentifier,
    @TypeContrat varchar(MAX),
    @Nom varchar(63),
    @Domaine varchar(MAX),
    @Actif bit
AS
BEGIN
    SET NOCOUNT ON
    UPDATE
        Contrats
      SET
        TypeContrat=@TypeContrat,
        Nom=@Nom,
        Domaine=@Domaine,
        Actif=@Actif
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Contrat_Delete
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    DELETE FROM
        Contrats
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Contrat_SelectAll
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Contrats.Id, Contrats.TypeContrat, Contrats.Nom, Contrats.Domaine, Contrats.Actif
      FROM
        Contrats;
END
GO

CREATE PROCEDURE crud_Contrat_Select
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Contrats.Id, Contrats.TypeContrat, Contrats.Nom, Contrats.Domaine, Contrats.Actif
      FROM
        Contrats
      WHERE
        Contrats.Id=@Id;
END
GO

CREATE PROCEDURE crud_Contrat_SelectByLieuxDeService
    @LieuDeService_Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Contrats.Id, Contrats.TypeContrat, Contrats.Nom, Contrats.Domaine, Contrats.Actif
      FROM
        Contrats
      INNER JOIN LieuxDeServiceContrats ON
        LieuxDeServiceContrats.Contrat_Id=Contrats.Id
      WHERE
        LieuxDeServiceContrats.LieuDeService_Id=@LieuDeService_Id;
END
GO

CREATE PROCEDURE crud_Convention_Insert
    @Numero varchar(8),
    @Id uniqueidentifier,
    @LieuDeService_Id uniqueidentifier,
    @Gestionnaire_Id uniqueidentifier,
    @Statut varchar(MAX),
    @DateSignature datetime,
    @Montant int,
    @Remise int,
    @Actif varchar(MAX)
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO
        Conventions(Id, LieuDeService_Id, Gestionnaire_Id, Statut, Numero, DateSignature, Montant, Remise, Actif)
      VALUES(@Id, @LieuDeService_Id, @Gestionnaire_Id, @Statut, @Numero, @DateSignature, @Montant, @Remise, @Actif);
END
GO

CREATE PROCEDURE crud_Convention_Update
    @Numero varchar(8),
    @Id uniqueidentifier,
    @LieuDeService_Id uniqueidentifier,
    @Gestionnaire_Id uniqueidentifier,
    @Statut varchar(MAX),
    @DateSignature datetime,
    @Montant int,
    @Remise int,
    @Actif varchar(MAX)
AS
BEGIN
    SET NOCOUNT ON
    UPDATE
        Conventions
      SET
        Id=@Id,
        LieuDeService_Id=@LieuDeService_Id,
        Gestionnaire_Id=@Gestionnaire_Id,
        Statut=@Statut,
        DateSignature=@DateSignature,
        Montant=@Montant,
        Remise=@Remise,
        Actif=@Actif
      WHERE
        Numero=@Numero;
END
GO

CREATE PROCEDURE crud_Convention_Delete
    @Numero varchar(8)
AS
BEGIN
    SET NOCOUNT ON
    DELETE FROM
        Conventions
      WHERE
        Numero=@Numero;
END
GO

CREATE PROCEDURE crud_Convention_SelectAll
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Conventions.Numero, Conventions.Id, Conventions.LieuDeService_Id, Conventions.Gestionnaire_Id, Conventions.Statut, Conventions.DateSignature, Conventions.Montant, Conventions.Remise, Conventions.Actif
      FROM
        Conventions;
END
GO

CREATE PROCEDURE crud_Convention_Select
    @Numero varchar(8)
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Conventions.Numero, Conventions.Id, Conventions.LieuDeService_Id, Conventions.Gestionnaire_Id, Conventions.Statut, Conventions.DateSignature, Conventions.Montant, Conventions.Remise, Conventions.Actif
      FROM
        Conventions
      WHERE
        Conventions.Numero=@Numero;
END
GO

CREATE PROCEDURE crud_Convention_SelectByLieuDeService
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Conventions.Numero, Conventions.Id, Conventions.LieuDeService_Id, Conventions.Gestionnaire_Id, Conventions.Statut, Conventions.DateSignature, Conventions.Montant, Conventions.Remise, Conventions.Actif
      FROM
        Conventions
      WHERE
        Conventions.LieuDeService_Id=@Id;
END
GO

CREATE PROCEDURE crud_Convention_SelectByGestionnaire
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Conventions.Numero, Conventions.Id, Conventions.LieuDeService_Id, Conventions.Gestionnaire_Id, Conventions.Statut, Conventions.DateSignature, Conventions.Montant, Conventions.Remise, Conventions.Actif
      FROM
        Conventions
      WHERE
        Conventions.Gestionnaire_Id=@Id;
END
GO

CREATE PROCEDURE crud_Personne_Insert
    @Id uniqueidentifier,
    @Adresse_Id uniqueidentifier,
    @Nom varchar(63),
    @Titre varchar(20),
    @TphFixe varchar(25),
    @TphPortable varchar(25),
    @TphBureau varchar(25),
    @Fax varchar(25),
    @Fax2 varchar(25),
    @Mail varchar(127),
    @Actif bit
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO
        Personnes(Id, Adresse_Id, Nom, Titre, TphFixe, TphPortable, TphBureau, Fax, Fax2, Mail, Actif)
      VALUES(@Id, @Adresse_Id, @Nom, @Titre, @TphFixe, @TphPortable, @TphBureau, @Fax, @Fax2, @Mail, @Actif);
END
GO

CREATE PROCEDURE crud_Personne_Update
    @Id uniqueidentifier,
    @Adresse_Id uniqueidentifier,
    @Nom varchar(63),
    @Titre varchar(20),
    @TphFixe varchar(25),
    @TphPortable varchar(25),
    @TphBureau varchar(25),
    @Fax varchar(25),
    @Fax2 varchar(25),
    @Mail varchar(127),
    @Actif bit
AS
BEGIN
    SET NOCOUNT ON
    UPDATE
        Personnes
      SET
        Adresse_Id=@Adresse_Id,
        Nom=@Nom,
        Titre=@Titre,
        TphFixe=@TphFixe,
        TphPortable=@TphPortable,
        TphBureau=@TphBureau,
        Fax=@Fax,
        Fax2=@Fax2,
        Mail=@Mail,
        Actif=@Actif
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Personne_Delete
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    DELETE FROM
        Personnes
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Personne_SelectAll
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Personnes.Id, Personnes.Adresse_Id, Personnes.Nom, Personnes.Titre, Personnes.TphFixe, Personnes.TphPortable, Personnes.TphBureau, Personnes.Fax, Personnes.Fax2, Personnes.Mail, Personnes.Actif
      FROM
        Personnes;
END
GO

CREATE PROCEDURE crud_Personne_Select
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Personnes.Id, Personnes.Adresse_Id, Personnes.Nom, Personnes.Titre, Personnes.TphFixe, Personnes.TphPortable, Personnes.TphBureau, Personnes.Fax, Personnes.Fax2, Personnes.Mail, Personnes.Actif
      FROM
        Personnes
      WHERE
        Personnes.Id=@Id;
END
GO

CREATE PROCEDURE crud_Personne_SelectByAdresse
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Personnes.Id, Personnes.Adresse_Id, Personnes.Nom, Personnes.Titre, Personnes.TphFixe, Personnes.TphPortable, Personnes.TphBureau, Personnes.Fax, Personnes.Fax2, Personnes.Mail, Personnes.Actif
      FROM
        Personnes
      WHERE
        Personnes.Adresse_Id=@Id;
END
GO

CREATE PROCEDURE crud_Personne_SelectByLieuDeService
    @LieuDeService_Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Personnes.Id, Personnes.Adresse_Id, Personnes.Nom, Personnes.Titre, Personnes.TphFixe, Personnes.TphPortable, Personnes.TphBureau, Personnes.Fax, Personnes.Fax2, Personnes.Mail, Personnes.Actif
      FROM
        Personnes
      INNER JOIN Contacts ON
        Contacts.Personne_Id=Personnes.Id
      WHERE
        Contacts.LieuDeService_Id=@LieuDeService_Id;
END
GO

CREATE PROCEDURE crud_Compteur_Insert
    @Id uniqueidentifier,
    @LieuDeService_Id uniqueidentifier,
    @Branchement_Id uniqueidentifier,
    @Adresse_Id uniqueidentifier,
    @CodeGn varchar(14),
    @Numero varchar(15),
    @Diametre varchar(MAX),
    @Marque varchar(31),
    @Modele varchar(31),
    @Localisation varchar(255),
    @Actif bit
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO
        Compteurs(Id, LieuDeService_Id, Branchement_Id, Adresse_Id, CodeGn, Numero, Diametre, Marque, Modele, Localisation, Actif)
      VALUES(@Id, @LieuDeService_Id, @Branchement_Id, @Adresse_Id, @CodeGn, @Numero, @Diametre, @Marque, @Modele, @Localisation, @Actif);
END
GO

CREATE PROCEDURE crud_Compteur_Update
    @Id uniqueidentifier,
    @LieuDeService_Id uniqueidentifier,
    @Branchement_Id uniqueidentifier,
    @Adresse_Id uniqueidentifier,
    @CodeGn varchar(14),
    @Numero varchar(15),
    @Diametre varchar(MAX),
    @Marque varchar(31),
    @Modele varchar(31),
    @Localisation varchar(255),
    @Actif bit
AS
BEGIN
    SET NOCOUNT ON
    UPDATE
        Compteurs
      SET
        LieuDeService_Id=@LieuDeService_Id,
        Branchement_Id=@Branchement_Id,
        Adresse_Id=@Adresse_Id,
        CodeGn=@CodeGn,
        Numero=@Numero,
        Diametre=@Diametre,
        Marque=@Marque,
        Modele=@Modele,
        Localisation=@Localisation,
        Actif=@Actif
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Compteur_Delete
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    DELETE FROM
        Compteurs
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Compteur_SelectAll
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Compteurs.Id, Compteurs.LieuDeService_Id, Compteurs.Branchement_Id, Compteurs.Adresse_Id, Compteurs.CodeGn, Compteurs.Numero, Compteurs.Diametre, Compteurs.Marque, Compteurs.Modele, Compteurs.Localisation, Compteurs.Actif
      FROM
        Compteurs;
END
GO

CREATE PROCEDURE crud_Compteur_Select
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Compteurs.Id, Compteurs.LieuDeService_Id, Compteurs.Branchement_Id, Compteurs.Adresse_Id, Compteurs.CodeGn, Compteurs.Numero, Compteurs.Diametre, Compteurs.Marque, Compteurs.Modele, Compteurs.Localisation, Compteurs.Actif
      FROM
        Compteurs
      WHERE
        Compteurs.Id=@Id;
END
GO

CREATE PROCEDURE crud_Compteur_SelectByLieuDeService
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Compteurs.Id, Compteurs.LieuDeService_Id, Compteurs.Branchement_Id, Compteurs.Adresse_Id, Compteurs.CodeGn, Compteurs.Numero, Compteurs.Diametre, Compteurs.Marque, Compteurs.Modele, Compteurs.Localisation, Compteurs.Actif
      FROM
        Compteurs
      WHERE
        Compteurs.LieuDeService_Id=@Id;
END
GO

CREATE PROCEDURE crud_Compteur_SelectByBranchement
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Compteurs.Id, Compteurs.LieuDeService_Id, Compteurs.Branchement_Id, Compteurs.Adresse_Id, Compteurs.CodeGn, Compteurs.Numero, Compteurs.Diametre, Compteurs.Marque, Compteurs.Modele, Compteurs.Localisation, Compteurs.Actif
      FROM
        Compteurs
      WHERE
        Compteurs.Branchement_Id=@Id;
END
GO

CREATE PROCEDURE crud_Compteur_SelectByAdresse
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Compteurs.Id, Compteurs.LieuDeService_Id, Compteurs.Branchement_Id, Compteurs.Adresse_Id, Compteurs.CodeGn, Compteurs.Numero, Compteurs.Diametre, Compteurs.Marque, Compteurs.Modele, Compteurs.Localisation, Compteurs.Actif
      FROM
        Compteurs
      WHERE
        Compteurs.Adresse_Id=@Id;
END
GO

CREATE PROCEDURE crud_Branchement_Insert
    @Id uniqueidentifier,
    @Personne_Id uniqueidentifier,
    @Adresse_Id uniqueidentifier,
    @CodeGn varchar(14),
    @Materiau varchar(MAX),
    @Diametre varchar(MAX),
    @Emplacement varchar(MAX),
    @Localisation varchar(255),
    @Actif bit
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO
        Branchements(Id, Personne_Id, Adresse_Id, CodeGn, Materiau, Diametre, Emplacement, Localisation, Actif)
      VALUES(@Id, @Personne_Id, @Adresse_Id, @CodeGn, @Materiau, @Diametre, @Emplacement, @Localisation, @Actif);
END
GO

CREATE PROCEDURE crud_Branchement_Update
    @Id uniqueidentifier,
    @Personne_Id uniqueidentifier,
    @Adresse_Id uniqueidentifier,
    @CodeGn varchar(14),
    @Materiau varchar(MAX),
    @Diametre varchar(MAX),
    @Emplacement varchar(MAX),
    @Localisation varchar(255),
    @Actif bit
AS
BEGIN
    SET NOCOUNT ON
    UPDATE
        Branchements
      SET
        Personne_Id=@Personne_Id,
        Adresse_Id=@Adresse_Id,
        CodeGn=@CodeGn,
        Materiau=@Materiau,
        Diametre=@Diametre,
        Emplacement=@Emplacement,
        Localisation=@Localisation,
        Actif=@Actif
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Branchement_Delete
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    DELETE FROM
        Branchements
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Branchement_SelectAll
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Branchements.Id, Branchements.Personne_Id, Branchements.Adresse_Id, Branchements.CodeGn, Branchements.Materiau, Branchements.Diametre, Branchements.Emplacement, Branchements.Localisation, Branchements.Actif
      FROM
        Branchements;
END
GO

CREATE PROCEDURE crud_Branchement_Select
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Branchements.Id, Branchements.Personne_Id, Branchements.Adresse_Id, Branchements.CodeGn, Branchements.Materiau, Branchements.Diametre, Branchements.Emplacement, Branchements.Localisation, Branchements.Actif
      FROM
        Branchements
      WHERE
        Branchements.Id=@Id;
END
GO

CREATE PROCEDURE crud_Branchement_SelectByPersonne
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Branchements.Id, Branchements.Personne_Id, Branchements.Adresse_Id, Branchements.CodeGn, Branchements.Materiau, Branchements.Diametre, Branchements.Emplacement, Branchements.Localisation, Branchements.Actif
      FROM
        Branchements
      WHERE
        Branchements.Personne_Id=@Id;
END
GO

CREATE PROCEDURE crud_Branchement_SelectByAdresse
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Branchements.Id, Branchements.Personne_Id, Branchements.Adresse_Id, Branchements.CodeGn, Branchements.Materiau, Branchements.Diametre, Branchements.Emplacement, Branchements.Localisation, Branchements.Actif
      FROM
        Branchements
      WHERE
        Branchements.Adresse_Id=@Id;
END
GO

CREATE PROCEDURE crud_Volume_Insert
    @Id uniqueidentifier,
    @Compteur_Id uniqueidentifier,
    @DateValeur datetime,
    @Valeur bigint
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO
        Volumes(Id, Compteur_Id, DateValeur, Valeur)
      VALUES(@Id, @Compteur_Id, @DateValeur, @Valeur);
END
GO

CREATE PROCEDURE crud_Volume_Update
    @Id uniqueidentifier,
    @Compteur_Id uniqueidentifier,
    @DateValeur datetime,
    @Valeur bigint
AS
BEGIN
    SET NOCOUNT ON
    UPDATE
        Volumes
      SET
        Compteur_Id=@Compteur_Id,
        DateValeur=@DateValeur,
        Valeur=@Valeur
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Volume_Delete
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    DELETE FROM
        Volumes
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Volume_SelectAll
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Volumes.Id, Volumes.Compteur_Id, Volumes.DateValeur, Volumes.Valeur
      FROM
        Volumes;
END
GO

CREATE PROCEDURE crud_Volume_Select
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Volumes.Id, Volumes.Compteur_Id, Volumes.DateValeur, Volumes.Valeur
      FROM
        Volumes
      WHERE
        Volumes.Id=@Id;
END
GO

CREATE PROCEDURE crud_Volume_SelectByCompteur
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Volumes.Id, Volumes.Compteur_Id, Volumes.DateValeur, Volumes.Valeur
      FROM
        Volumes
      WHERE
        Volumes.Compteur_Id=@Id;
END
GO

CREATE PROCEDURE crud_Equipement_Insert
    @Id uniqueidentifier,
    @Compteur_Id uniqueidentifier,
    @TypeEquipement varchar(MAX),
    @Statut varchar(MAX),
    @Diametre varchar(MAX),
    @Marque varchar(31),
    @Modele varchar(31),
    @Numero varchar(15),
    @Rang varchar(MAX),
    @DatePose datetime,
    @Localisation varchar(255),
    @Conventionne bit,
    @Actif bit
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO
        Equipements(Id, Compteur_Id, TypeEquipement, Statut, Diametre, Marque, Modele, Numero, Rang, DatePose, Localisation, Conventionne, Actif)
      VALUES(@Id, @Compteur_Id, @TypeEquipement, @Statut, @Diametre, @Marque, @Modele, @Numero, @Rang, @DatePose, @Localisation, @Conventionne, @Actif);
END
GO

CREATE PROCEDURE crud_Equipement_Update
    @Id uniqueidentifier,
    @Compteur_Id uniqueidentifier,
    @TypeEquipement varchar(MAX),
    @Statut varchar(MAX),
    @Diametre varchar(MAX),
    @Marque varchar(31),
    @Modele varchar(31),
    @Numero varchar(15),
    @Rang varchar(MAX),
    @DatePose datetime,
    @Localisation varchar(255),
    @Conventionne bit,
    @Actif bit
AS
BEGIN
    SET NOCOUNT ON
    UPDATE
        Equipements
      SET
        Compteur_Id=@Compteur_Id,
        TypeEquipement=@TypeEquipement,
        Statut=@Statut,
        Diametre=@Diametre,
        Marque=@Marque,
        Modele=@Modele,
        Numero=@Numero,
        Rang=@Rang,
        DatePose=@DatePose,
        Localisation=@Localisation,
        Conventionne=@Conventionne,
        Actif=@Actif
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Equipement_Delete
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    DELETE FROM
        Equipements
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Equipement_SelectAll
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Equipements.Id, Equipements.Compteur_Id, Equipements.TypeEquipement, Equipements.Statut, Equipements.Diametre, Equipements.Marque, Equipements.Modele, Equipements.Numero, Equipements.Rang, Equipements.DatePose, Equipements.Localisation, Equipements.Conventionne, Equipements.Actif
      FROM
        Equipements;
END
GO

CREATE PROCEDURE crud_Equipement_Select
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Equipements.Id, Equipements.Compteur_Id, Equipements.TypeEquipement, Equipements.Statut, Equipements.Diametre, Equipements.Marque, Equipements.Modele, Equipements.Numero, Equipements.Rang, Equipements.DatePose, Equipements.Localisation, Equipements.Conventionne, Equipements.Actif
      FROM
        Equipements
      WHERE
        Equipements.Id=@Id;
END
GO

CREATE PROCEDURE crud_Equipement_SelectByCompteur
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Equipements.Id, Equipements.Compteur_Id, Equipements.TypeEquipement, Equipements.Statut, Equipements.Diametre, Equipements.Marque, Equipements.Modele, Equipements.Numero, Equipements.Rang, Equipements.DatePose, Equipements.Localisation, Equipements.Conventionne, Equipements.Actif
      FROM
        Equipements
      WHERE
        Equipements.Compteur_Id=@Id;
END
GO

CREATE PROCEDURE crud_Dossier_Insert
    @Id uniqueidentifier,
    @LieuDeService_Id uniqueidentifier,
    @Programme_Id uniqueidentifier,
    @TypeDossier varchar(MAX),
    @DateOuverture datetime,
    @Delai datetime,
    @DateCloture datetime,
    @Statut varchar(MAX),
    @Commentaire varchar(MAX)
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO
        Dossiers(Id, LieuDeService_Id, Programme_Id, TypeDossier, DateOuverture, Delai, DateCloture, Statut, Commentaire)
      VALUES(@Id, @LieuDeService_Id, @Programme_Id, @TypeDossier, @DateOuverture, @Delai, @DateCloture, @Statut, @Commentaire);
END
GO

CREATE PROCEDURE crud_Dossier_Update
    @Id uniqueidentifier,
    @LieuDeService_Id uniqueidentifier,
    @Programme_Id uniqueidentifier,
    @TypeDossier varchar(MAX),
    @DateOuverture datetime,
    @Delai datetime,
    @DateCloture datetime,
    @Statut varchar(MAX),
    @Commentaire varchar(MAX)
AS
BEGIN
    SET NOCOUNT ON
    UPDATE
        Dossiers
      SET
        LieuDeService_Id=@LieuDeService_Id,
        Programme_Id=@Programme_Id,
        TypeDossier=@TypeDossier,
        DateOuverture=@DateOuverture,
        Delai=@Delai,
        DateCloture=@DateCloture,
        Statut=@Statut,
        Commentaire=@Commentaire
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Dossier_Delete
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    DELETE FROM
        Dossiers
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Dossier_SelectAll
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Dossiers.Id, Dossiers.LieuDeService_Id, Dossiers.Programme_Id, Dossiers.TypeDossier, Dossiers.DateOuverture, Dossiers.Delai, Dossiers.DateCloture, Dossiers.Statut, Dossiers.Commentaire
      FROM
        Dossiers;
END
GO

CREATE PROCEDURE crud_Dossier_Select
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Dossiers.Id, Dossiers.LieuDeService_Id, Dossiers.Programme_Id, Dossiers.TypeDossier, Dossiers.DateOuverture, Dossiers.Delai, Dossiers.DateCloture, Dossiers.Statut, Dossiers.Commentaire
      FROM
        Dossiers
      WHERE
        Dossiers.Id=@Id;
END
GO

CREATE PROCEDURE crud_Dossier_SelectByLieuDeService
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Dossiers.Id, Dossiers.LieuDeService_Id, Dossiers.Programme_Id, Dossiers.TypeDossier, Dossiers.DateOuverture, Dossiers.Delai, Dossiers.DateCloture, Dossiers.Statut, Dossiers.Commentaire
      FROM
        Dossiers
      WHERE
        Dossiers.LieuDeService_Id=@Id;
END
GO

CREATE PROCEDURE crud_Dossier_SelectByProgramme
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Dossiers.Id, Dossiers.LieuDeService_Id, Dossiers.Programme_Id, Dossiers.TypeDossier, Dossiers.DateOuverture, Dossiers.Delai, Dossiers.DateCloture, Dossiers.Statut, Dossiers.Commentaire
      FROM
        Dossiers
      WHERE
        Dossiers.Programme_Id=@Id;
END
GO

CREATE PROCEDURE crud_Programme_Insert
    @Id uniqueidentifier,
    @Nom varchar(MAX),
    @TypeProgramme varchar(MAX),
    @DateOuverture datetime,
    @Delai datetime,
    @DateCloture datetime,
    @Statut varchar(MAX),
    @Commentaire varchar(255)
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO
        Programmes(Id, Nom, TypeProgramme, DateOuverture, Delai, DateCloture, Statut, Commentaire)
      VALUES(@Id, @Nom, @TypeProgramme, @DateOuverture, @Delai, @DateCloture, @Statut, @Commentaire);
END
GO

CREATE PROCEDURE crud_Programme_Update
    @Id uniqueidentifier,
    @Nom varchar(MAX),
    @TypeProgramme varchar(MAX),
    @DateOuverture datetime,
    @Delai datetime,
    @DateCloture datetime,
    @Statut varchar(MAX),
    @Commentaire varchar(255)
AS
BEGIN
    SET NOCOUNT ON
    UPDATE
        Programmes
      SET
        Nom=@Nom,
        TypeProgramme=@TypeProgramme,
        DateOuverture=@DateOuverture,
        Delai=@Delai,
        DateCloture=@DateCloture,
        Statut=@Statut,
        Commentaire=@Commentaire
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Programme_Delete
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    DELETE FROM
        Programmes
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Programme_SelectAll
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Programmes.Id, Programmes.Nom, Programmes.TypeProgramme, Programmes.DateOuverture, Programmes.Delai, Programmes.DateCloture, Programmes.Statut, Programmes.Commentaire
      FROM
        Programmes;
END
GO

CREATE PROCEDURE crud_Programme_Select
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Programmes.Id, Programmes.Nom, Programmes.TypeProgramme, Programmes.DateOuverture, Programmes.Delai, Programmes.DateCloture, Programmes.Statut, Programmes.Commentaire
      FROM
        Programmes
      WHERE
        Programmes.Id=@Id;
END
GO

CREATE PROCEDURE crud_Etape_Insert
    @Id uniqueidentifier,
    @Dossier_Id uniqueidentifier,
    @TypeEtape varchar(MAX),
    @DatePlanification datetime,
    @DateOuverture datetime,
    @Delai datetime,
    @DateRealisation datetime,
    @Statut varchar(MAX),
    @Commentaire varchar(255)
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO
        Etapes(Id, Dossier_Id, TypeEtape, DatePlanification, DateOuverture, Delai, DateRealisation, Statut, Commentaire)
      VALUES(@Id, @Dossier_Id, @TypeEtape, @DatePlanification, @DateOuverture, @Delai, @DateRealisation, @Statut, @Commentaire);
END
GO

CREATE PROCEDURE crud_Etape_Update
    @Id uniqueidentifier,
    @Dossier_Id uniqueidentifier,
    @TypeEtape varchar(MAX),
    @DatePlanification datetime,
    @DateOuverture datetime,
    @Delai datetime,
    @DateRealisation datetime,
    @Statut varchar(MAX),
    @Commentaire varchar(255)
AS
BEGIN
    SET NOCOUNT ON
    UPDATE
        Etapes
      SET
        Dossier_Id=@Dossier_Id,
        TypeEtape=@TypeEtape,
        DatePlanification=@DatePlanification,
        DateOuverture=@DateOuverture,
        Delai=@Delai,
        DateRealisation=@DateRealisation,
        Statut=@Statut,
        Commentaire=@Commentaire
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Etape_Delete
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    DELETE FROM
        Etapes
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Etape_SelectAll
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Etapes.Id, Etapes.Dossier_Id, Etapes.TypeEtape, Etapes.DatePlanification, Etapes.DateOuverture, Etapes.Delai, Etapes.DateRealisation, Etapes.Statut, Etapes.Commentaire
      FROM
        Etapes;
END
GO

CREATE PROCEDURE crud_Etape_Select
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Etapes.Id, Etapes.Dossier_Id, Etapes.TypeEtape, Etapes.DatePlanification, Etapes.DateOuverture, Etapes.Delai, Etapes.DateRealisation, Etapes.Statut, Etapes.Commentaire
      FROM
        Etapes
      WHERE
        Etapes.Id=@Id;
END
GO

CREATE PROCEDURE crud_Etape_SelectByDossier
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Etapes.Id, Etapes.Dossier_Id, Etapes.TypeEtape, Etapes.DatePlanification, Etapes.DateOuverture, Etapes.Delai, Etapes.DateRealisation, Etapes.Statut, Etapes.Commentaire
      FROM
        Etapes
      WHERE
        Etapes.Dossier_Id=@Id;
END
GO

CREATE PROCEDURE crud_Action_Insert
    @Id uniqueidentifier,
    @Etape_Id uniqueidentifier,
    @TypeAction varchar(MAX),
    @DatePlanification datetime,
    @DateOuverture datetime,
    @Acteur varchar(68),
    @Delai datetime,
    @DateRealisation datetime,
    @Statut varchar(MAX),
    @Commentaire varchar(255)
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO
        Actions(Id, Etape_Id, TypeAction, DatePlanification, DateOuverture, Acteur, Delai, DateRealisation, Statut, Commentaire)
      VALUES(@Id, @Etape_Id, @TypeAction, @DatePlanification, @DateOuverture, @Acteur, @Delai, @DateRealisation, @Statut, @Commentaire);
END
GO

CREATE PROCEDURE crud_Action_Update
    @Id uniqueidentifier,
    @Etape_Id uniqueidentifier,
    @TypeAction varchar(MAX),
    @DatePlanification datetime,
    @DateOuverture datetime,
    @Acteur varchar(68),
    @Delai datetime,
    @DateRealisation datetime,
    @Statut varchar(MAX),
    @Commentaire varchar(255)
AS
BEGIN
    SET NOCOUNT ON
    UPDATE
        Actions
      SET
        Etape_Id=@Etape_Id,
        TypeAction=@TypeAction,
        DatePlanification=@DatePlanification,
        DateOuverture=@DateOuverture,
        Acteur=@Acteur,
        Delai=@Delai,
        DateRealisation=@DateRealisation,
        Statut=@Statut,
        Commentaire=@Commentaire
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Action_Delete
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    DELETE FROM
        Actions
      WHERE
        Id=@Id;
END
GO

CREATE FUNCTION crud_Action_GetType(
    @Id uniqueidentifier
) RETURNS sysname
AS
BEGIN
    DECLARE @ret sysname;
    SET @ret=(SELECT
        CASE
          WHEN EXISTS (SELECT * FROM Interventions WHERE Id=@Id) THEN N'Intervention'
          WHEN EXISTS (SELECT * FROM Actions WHERE Id=@Id) THEN N'Action'
        END
    );
    RETURN @ret;
END
GO

CREATE PROCEDURE crud_Action_SelectAll
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        dbo.crud_Action_GetType(Actions.Id) AS Type, Actions.Id, Actions.Etape_Id, Actions.TypeAction, Actions.DatePlanification, Actions.DateOuverture, Actions.Acteur, Actions.Delai, Actions.DateRealisation, Actions.Statut, Actions.Commentaire, Interventions.Equipement_Id
      FROM
        Actions
      LEFT OUTER JOIN Interventions ON
        Interventions.Id=Actions.Id;
END
GO

CREATE PROCEDURE crud_Action_Select
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        dbo.crud_Action_GetType(Actions.Id) AS Type, Actions.Id, Actions.Etape_Id, Actions.TypeAction, Actions.DatePlanification, Actions.DateOuverture, Actions.Acteur, Actions.Delai, Actions.DateRealisation, Actions.Statut, Actions.Commentaire, Interventions.Equipement_Id
      FROM
        Actions
      LEFT OUTER JOIN Interventions ON
        Interventions.Id=Actions.Id
      WHERE
        Actions.Id=@Id;
END
GO

CREATE PROCEDURE crud_Action_SelectByEtape
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        dbo.crud_Action_GetType(Actions.Id) AS Type, Actions.Id, Actions.Etape_Id, Actions.TypeAction, Actions.DatePlanification, Actions.DateOuverture, Actions.Acteur, Actions.Delai, Actions.DateRealisation, Actions.Statut, Actions.Commentaire, Interventions.Equipement_Id
      FROM
        Actions
      LEFT OUTER JOIN Interventions ON
        Interventions.Id=Actions.Id
      WHERE
        Actions.Etape_Id=@Id;
END
GO

CREATE PROCEDURE crud_Action_SelectByDocuments
    @Document_Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        dbo.crud_Action_GetType(Actions.Id) AS Type, Actions.Id, Actions.Etape_Id, Actions.TypeAction, Actions.DatePlanification, Actions.DateOuverture, Actions.Acteur, Actions.Delai, Actions.DateRealisation, Actions.Statut, Actions.Commentaire, Interventions.Equipement_Id
      FROM
        Actions
      INNER JOIN ActionsDocuments ON
        ActionsDocuments.Action_Id=Actions.Id
      LEFT OUTER JOIN Interventions ON
        Interventions.Id=Actions.Id
      WHERE
        ActionsDocuments.Document_Id=@Document_Id;
END
GO

CREATE PROCEDURE crud_ActionsDocuments_Insert
    @Action_Id uniqueidentifier,
    @Document_Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO
        ActionsDocuments(Action_Id, Document_Id)
      VALUES(@Action_Id, @Document_Id);
END
GO


CREATE PROCEDURE crud_ActionsDocuments_Delete
    @Action_Id uniqueidentifier,
    @Document_Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    DELETE FROM
        ActionsDocuments
      WHERE
        Action_Id=@Action_Id AND
        Document_Id=@Document_Id;
END
GO



CREATE PROCEDURE crud_ActionsDocuments_SelectByAction
    @Action_Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        ActionsDocuments.Action_Id, ActionsDocuments.Document_Id
      FROM
        ActionsDocuments
      WHERE
        ActionsDocuments.Action_Id=@Action_Id;
END
GO

CREATE PROCEDURE crud_ActionsDocuments_SelectByDocument
    @Document_Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        ActionsDocuments.Action_Id, ActionsDocuments.Document_Id
      FROM
        ActionsDocuments
      WHERE
        ActionsDocuments.Document_Id=@Document_Id;
END
GO

CREATE PROCEDURE crud_Document_Insert
    @Id uniqueidentifier,
    @Nom varchar(127),
    @Donnees varchar(MAX),
    @Fichier varchar(MAX)
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO
        Documents(Id, Nom, Donnees, Fichier)
      VALUES(@Id, @Nom, @Donnees, @Fichier);
END
GO

CREATE PROCEDURE crud_Document_Update
    @Id uniqueidentifier,
    @Nom varchar(127),
    @Donnees varchar(MAX),
    @Fichier varchar(MAX)
AS
BEGIN
    SET NOCOUNT ON
    UPDATE
        Documents
      SET
        Nom=@Nom,
        Donnees=@Donnees,
        Fichier=@Fichier
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Document_Delete
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    DELETE FROM
        Documents
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Document_SelectAll
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Documents.Id, Documents.Nom, Documents.Donnees, Documents.Fichier
      FROM
        Documents;
END
GO

CREATE PROCEDURE crud_Document_Select
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Documents.Id, Documents.Nom, Documents.Donnees, Documents.Fichier
      FROM
        Documents
      WHERE
        Documents.Id=@Id;
END
GO

CREATE PROCEDURE crud_Document_SelectByActions
    @Action_Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Documents.Id, Documents.Nom, Documents.Donnees, Documents.Fichier
      FROM
        Documents
      INNER JOIN ActionsDocuments ON
        ActionsDocuments.Document_Id=Documents.Id
      WHERE
        ActionsDocuments.Action_Id=@Action_Id;
END
GO

CREATE PROCEDURE crud_Intervention_Insert
    @Id uniqueidentifier,
    @Etape_Id uniqueidentifier,
    @TypeAction varchar(MAX),
    @DatePlanification datetime,
    @DateOuverture datetime,
    @Acteur varchar(68),
    @Delai datetime,
    @DateRealisation datetime,
    @Statut varchar(MAX),
    @Commentaire varchar(255),
    @Equipement_Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO
        Actions(Id, Etape_Id, TypeAction, DatePlanification, DateOuverture, Acteur, Delai, DateRealisation, Statut, Commentaire)
      VALUES(@Id, @Etape_Id, @TypeAction, @DatePlanification, @DateOuverture, @Acteur, @Delai, @DateRealisation, @Statut, @Commentaire);
    INSERT INTO
        Interventions(Id, Equipement_Id)
      VALUES(@Id, @Equipement_Id);
END
GO

CREATE PROCEDURE crud_Intervention_Update
    @Id uniqueidentifier,
    @Etape_Id uniqueidentifier,
    @TypeAction varchar(MAX),
    @DatePlanification datetime,
    @DateOuverture datetime,
    @Acteur varchar(68),
    @Delai datetime,
    @DateRealisation datetime,
    @Statut varchar(MAX),
    @Commentaire varchar(255),
    @Equipement_Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    UPDATE
        Actions
      SET
        Etape_Id=@Etape_Id,
        TypeAction=@TypeAction,
        DatePlanification=@DatePlanification,
        DateOuverture=@DateOuverture,
        Acteur=@Acteur,
        Delai=@Delai,
        DateRealisation=@DateRealisation,
        Statut=@Statut,
        Commentaire=@Commentaire
      WHERE
        Id=@Id;
    UPDATE
        Interventions
      SET
        Equipement_Id=@Equipement_Id
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Intervention_Delete
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    DELETE FROM
        Interventions
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Intervention_SelectAll
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        N'Intervention' AS Type, Actions.Id, Actions.Etape_Id, Actions.TypeAction, Actions.DatePlanification, Actions.DateOuverture, Actions.Acteur, Actions.Delai, Actions.DateRealisation, Actions.Statut, Actions.Commentaire, Interventions.Equipement_Id
      FROM
        Interventions
      INNER JOIN Actions ON
        Actions.Id=Interventions.Id;
END
GO

CREATE PROCEDURE crud_Intervention_Select
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        N'Intervention' AS Type, Actions.Id, Actions.Etape_Id, Actions.TypeAction, Actions.DatePlanification, Actions.DateOuverture, Actions.Acteur, Actions.Delai, Actions.DateRealisation, Actions.Statut, Actions.Commentaire, Interventions.Equipement_Id
      FROM
        Interventions
      INNER JOIN Actions ON
        Actions.Id=Interventions.Id
      WHERE
        Interventions.Id=@Id;
END
GO

CREATE PROCEDURE crud_Intervention_SelectByEquipement
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        N'Intervention' AS Type, Actions.Id, Actions.Etape_Id, Actions.TypeAction, Actions.DatePlanification, Actions.DateOuverture, Actions.Acteur, Actions.Delai, Actions.DateRealisation, Actions.Statut, Actions.Commentaire, Interventions.Equipement_Id
      FROM
        Interventions
      INNER JOIN Actions ON
        Actions.Id=Interventions.Id
      WHERE
        Interventions.Equipement_Id=@Id;
END
GO

CREATE PROCEDURE crud_Adresse_Insert
    @Id uniqueidentifier,
    @Voie_Id uniqueidentifier,
    @Numero varchar(7),
    @Complement varchar(255)
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO
        Adresses(Id, Voie_Id, Numero, Complement)
      VALUES(@Id, @Voie_Id, @Numero, @Complement);
END
GO

CREATE PROCEDURE crud_Adresse_Update
    @Id uniqueidentifier,
    @Voie_Id uniqueidentifier,
    @Numero varchar(7),
    @Complement varchar(255)
AS
BEGIN
    SET NOCOUNT ON
    UPDATE
        Adresses
      SET
        Voie_Id=@Voie_Id,
        Numero=@Numero,
        Complement=@Complement
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Adresse_Delete
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    DELETE FROM
        Adresses
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Adresse_SelectAll
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Adresses.Id, Adresses.Voie_Id, Adresses.Numero, Adresses.Complement
      FROM
        Adresses;
END
GO

CREATE PROCEDURE crud_Adresse_Select
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Adresses.Id, Adresses.Voie_Id, Adresses.Numero, Adresses.Complement
      FROM
        Adresses
      WHERE
        Adresses.Id=@Id;
END
GO

CREATE PROCEDURE crud_Adresse_SelectByVoie
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Adresses.Id, Adresses.Voie_Id, Adresses.Numero, Adresses.Complement
      FROM
        Adresses
      WHERE
        Adresses.Voie_Id=@Id;
END
GO

CREATE PROCEDURE crud_Voie_Insert
    @Id uniqueidentifier,
    @Commune_Id uniqueidentifier,
    @Nom varchar(63)
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO
        Voies(Id, Commune_Id, Nom)
      VALUES(@Id, @Commune_Id, @Nom);
END
GO

CREATE PROCEDURE crud_Voie_Update
    @Id uniqueidentifier,
    @Commune_Id uniqueidentifier,
    @Nom varchar(63)
AS
BEGIN
    SET NOCOUNT ON
    UPDATE
        Voies
      SET
        Commune_Id=@Commune_Id,
        Nom=@Nom
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Voie_Delete
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    DELETE FROM
        Voies
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Voie_SelectAll
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Voies.Id, Voies.Commune_Id, Voies.Nom
      FROM
        Voies;
END
GO

CREATE PROCEDURE crud_Voie_Select
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Voies.Id, Voies.Commune_Id, Voies.Nom
      FROM
        Voies
      WHERE
        Voies.Id=@Id;
END
GO

CREATE PROCEDURE crud_Voie_SelectByCommune
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Voies.Id, Voies.Commune_Id, Voies.Nom
      FROM
        Voies
      WHERE
        Voies.Commune_Id=@Id;
END
GO

CREATE PROCEDURE crud_Commune_Insert
    @Id uniqueidentifier,
    @Nom varchar(63),
    @CodePostal varchar(5),
    @CodeInsee varchar(5),
    @Actif bit
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO
        Communes(Id, Nom, CodePostal, CodeInsee, Actif)
      VALUES(@Id, @Nom, @CodePostal, @CodeInsee, @Actif);
END
GO

CREATE PROCEDURE crud_Commune_Update
    @Id uniqueidentifier,
    @Nom varchar(63),
    @CodePostal varchar(5),
    @CodeInsee varchar(5),
    @Actif bit
AS
BEGIN
    SET NOCOUNT ON
    UPDATE
        Communes
      SET
        Nom=@Nom,
        CodePostal=@CodePostal,
        CodeInsee=@CodeInsee,
        Actif=@Actif
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Commune_Delete
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    DELETE FROM
        Communes
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Commune_SelectAll
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Communes.Id, Communes.Nom, Communes.CodePostal, Communes.CodeInsee, Communes.Actif
      FROM
        Communes;
END
GO

CREATE PROCEDURE crud_Commune_Select
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Communes.Id, Communes.Nom, Communes.CodePostal, Communes.CodeInsee, Communes.Actif
      FROM
        Communes
      WHERE
        Communes.Id=@Id;
END
GO

CREATE PROCEDURE crud_Bordereau_Insert
    @Id uniqueidentifier,
    @CodePharos varchar(12),
    @Libelle varchar(127),
    @PrixUnitaire varchar(MAX)
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO
        Bordereaux(Id, CodePharos, Libelle, PrixUnitaire)
      VALUES(@Id, @CodePharos, @Libelle, @PrixUnitaire);
END
GO

CREATE PROCEDURE crud_Bordereau_Update
    @Id uniqueidentifier,
    @CodePharos varchar(12),
    @Libelle varchar(127),
    @PrixUnitaire varchar(MAX)
AS
BEGIN
    SET NOCOUNT ON
    UPDATE
        Bordereaux
      SET
        CodePharos=@CodePharos,
        Libelle=@Libelle,
        PrixUnitaire=@PrixUnitaire
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Bordereau_Delete
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    DELETE FROM
        Bordereaux
      WHERE
        Id=@Id;
END
GO

CREATE PROCEDURE crud_Bordereau_SelectAll
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Bordereaux.Id, Bordereaux.CodePharos, Bordereaux.Libelle, Bordereaux.PrixUnitaire
      FROM
        Bordereaux;
END
GO

CREATE PROCEDURE crud_Bordereau_Select
    @Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Bordereaux.Id, Bordereaux.CodePharos, Bordereaux.Libelle, Bordereaux.PrixUnitaire
      FROM
        Bordereaux
      WHERE
        Bordereaux.Id=@Id;
END
GO

CREATE PROCEDURE crud_Contact_Insert
    @Personne_Id uniqueidentifier,
    @LieuDeService_Id uniqueidentifier,
    @Description varchar(255)
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO
        Contacts(Personne_Id, LieuDeService_Id, Description)
      VALUES(@Personne_Id, @LieuDeService_Id, @Description);
END
GO

CREATE PROCEDURE crud_Contact_Update
    @Personne_Id uniqueidentifier,
    @LieuDeService_Id uniqueidentifier,
    @Description varchar(255)
AS
BEGIN
    SET NOCOUNT ON
    UPDATE
        Contacts
      SET
        Description=@Description
      WHERE
        Personne_Id=@Personne_Id AND
        LieuDeService_Id=@LieuDeService_Id;
END
GO

CREATE PROCEDURE crud_Contact_Delete
    @Personne_Id uniqueidentifier,
    @LieuDeService_Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    DELETE FROM
        Contacts
      WHERE
        Personne_Id=@Personne_Id AND
        LieuDeService_Id=@LieuDeService_Id;
END
GO

CREATE PROCEDURE crud_Contact_SelectAll
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Contacts.Personne_Id, Contacts.LieuDeService_Id, Contacts.Description
      FROM
        Contacts;
END
GO

CREATE PROCEDURE crud_Contact_Select
    @Personne_Id uniqueidentifier,
    @LieuDeService_Id uniqueidentifier
AS
BEGIN
    SET NOCOUNT ON
    SELECT
        Contacts.Personne_Id, Contacts.LieuDeService_Id, Contacts.Description
      FROM
        Contacts
      WHERE
        Contacts.Personne_Id=@Personne_Id AND
        Contacts.LieuDeService_Id=@LieuDeService_Id;
END
GO


